Personal computer systems are well known in the art. They have attained widespread use for providing computer power to many segments of today's modern society. Personal computers (PCs) may be defined as a desktop, floor standing, or portable microcomputer that includes a system unit having a central processing unit (CPU) and associated volatile and non-volatile memory, including random access memory (RAM) and basic input/output system read only memory (BIOS ROM), a system monitor, a keyboard, one or more flexible diskette drives, a CD-ROM or DVD-ROM drive, a fixed disk storage drive (also known as a “hard drive”), a pointing device such as a mouse, and an optional network interface adapter. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together.
Networks such as the Internet and corporate intranets provide a mechanism for users to transfer data among computers for information sharing, workplace collaboration, data collection, etc. Users gain access to networks such as the Internet by accessing a web server via personal Internet service providers (ISP's), broadband network connections, or high speed network connections through office systems. Typically, a user will view Internet or intranet content using a graphic browser application such as Microsoft Corporation's Internet Explorer™, Netscape Communication Corporation's Navigator™, Mozilla Foundation's Mozilla, Apple Corporation's Safari™, etc. Browsers, at their most basic level of operation, permit users to connect to a given network site, download informational content from that site, and display that information to the user. To view additional information, the user designates a new network address (such as by selecting a link) whose contents then replace the previously displayed information on the user's computer display.
Users often interact with an application server of an organization via a network. An application server is a server computer in a computer network dedicated to running particular software applications such as an organization's back-end business applications or databases. An application server typically has built-in redundancy, high performance, and support for complex database access. An example application server is International Business Machine's (IBM®'s) WebSphere® Application Server (WAS) that may serve as middleware to set up, operate, and integrate e-business applications across multiple computing platforms using Web technologies. Application servers may utilize, for example, a database management system such as IBM®'s DB2® Universal Database or Xara Online's (a subsidiary of Xara Group Ltd. of Hemel Hempstead, UK) Web applications to build a database platform or other remotely hosted applications. These database management systems allow users with appropriate authorization to add or update database records via a user interface, which is often browser-based.
Users often desire to add or update multiple records in a back-end database. To do so directly, a user may typically enter a user id and password and directly access the database to modify the records via add/update pages of a user interface of the back-end application. Having to navigate in the user interface for each record a user would like to update, however, can be very time consuming and inefficient. Accordingly, many back-end applications allow users to upload spreadsheets to add or update multiple records (with each record indicating a change to the database) in a database simultaneously, reducing the time necessary for users to perform this task when compared to manual entry. For example, current solutions such as IBM®'s DB2® Universal Database or Xara Online's Web applications allow users to connect directly to a database back-end to update or add records by synchronizing the contents of a Microsoft Corporation's® Microsoft Excel® spreadsheet with the database. For applications with validation or business processes requirements, however, this approach is not satisfactory.
When validation or business processes requirements exist, synchronization with a spreadsheet using current solutions suffers from a number of drawbacks. One fault of current solutions is that all applications users who need to add or update records require direct access to the database, requiring a user id and password for direct database access plus assignment of privileges and rights to each one of them at the database level, an unwieldy and undesirable solution. Moreover, all validation and business processes would need to be written at the database layer, resulting in a solution that is not very portable and is thus inefficient. There is, therefore, a need for an efficient and effective mechanism for processing a spreadsheet for storage in a database.